RiverSync
SPEC-PRD-MNT · v0.3
26 June 2026
Owner: Platform team

Maintenance — product requirements

The maintenance agreement is RiverSync's per-device service product: at any moment a device carries exactly one active maintenance agreement — with its own tier, servicing party and expiration — and its whole history is kept. This PRD consolidates the maintenance-agreement requirements that several apps share; the customer reads them in the Portal's Maintenance menu.

DraftNew — consolidates PRT-2/5 + PTL-3
Inherits the master PRD. Per-device agreements, renewal-at-own-date, partner move and tiers are defined in SPEC-PRD (PRT-2, PRT-3, PRT-5). This PRD is the maintenance-agreement-scoped view across apps; on any conflict the master wins and the discrepancy is logged in both revision histories. Data model: Portal / Partners ERD (MaintenanceAgreement · DeviceAgreement). Back-end: the Maintenance domain (SVC-MNT).

1One product, several surfaces

The maintenance agreement is created when a device is sold, managed by the customer's org, serviced by a partner or RiverSync, and read on the device. Each app touches the same record.

AppWhat it does with the maintenance agreement
PortalCustomer reads it — per device, the active agreement + full history, under the Maintenance menu (PTL-3, MNT-1/2)
AccountCustomer manages the servicing partner's access scope per link (ACC-3, FED-11)
PartnersThe servicing partner works covered devices within granted scope (PAR-2)
PipelineSold as a quote line — model + maintenance-agreement level (PIP-1)
AdminAttached by the won-deal provisioning saga (ADM-2, SVC-11)

2The model in one paragraph

A platform-wide catalog of maintenance tiers — Silver (8×5, next business day) and Gold (24×7, next day) — each with its SLA and description. Every device carries per-device agreement records that reference a tier; each record has its own period (start → expiration), servicing organization and status. Exactly one is active per device at a time (DM-14). The data model names the catalog MaintenanceTier and the per-device record MaintenanceAgreement, owned by the Maintenance service (SVC-MNT).

3Requirements

MNT-1

Single active agreement per device. At any point in time a device has exactly one active maintenance agreement, carrying its tier, servicing organization, period start and expiration date (PeriodEnd). One active per device per period is a model invariant (DM-14); each device renews on its own date (master PRT-2).

MNT-2

Per-device agreement history. Each device shows the full list of its previous maintenance agreements in a table sorted latest to oldest, top down. Each row reads its period, tier, servicing organization, status (active · expired · moved) and source (the deal or renewal that created it). The current active agreement sits above the history as the primary record.

MNT-3

Tiers come from the catalog. Silver (8×5 NBD) · Gold (24×7 ND) — shown on the device and on every history row, and frozen onto a service ticket's SLA at creation (master PRT-5, DM-19). Tiers are never restyled per app; the DS tier marks are canonical.

MNT-4

Renewal & expiration are visible ahead of time. A device's upcoming expiration surfaces before PeriodEnd (the agreement.expiring fact); expired and lapsed states are explicit, never inferred from a blank date. Renewal keeps the same servicing partner and moves the device's own renewal date on (master PRT-2).

MNT-5

Servicing party & move at renewal. Each agreement names its servicing organization (a partner, or RiverSync). At renewal the customer can move a device to a new partner, effective the day after expiry (DM-14); the outgoing agreement closes into history (MNT-2) and a new active record opens. RiverSync never appears as a partner link (master PRT-6, DM-15).

MNT-6

Surfaced in the Portal under Maintenance. The customer-facing menu is Maintenance (renamed from Agreement). It reads-only for the customer: the active agreement is primary, history below (MNT-1/2). Managing the servicing partner's access scope — telemetry · service tickets · sites & visits · invoices & agreements — stays in Account, per link (FED-11, master PRT-3).

MNT-7

Coverage is the agreement's scope. An agreement covers exactly its device for its period; the partner link, the access grant and the partner-scope resolver all derive from active agreements (DM-12, DM-16). The maintenance agreement is the service product; coverage is what it covers — the two are never conflated.

RiverSync Co., Ltd. · BangkokSPEC-PRD-MNT · 1 of 2

4Open questions

5Revision history

VersionDateChanges
0.126 Jun 2026First draft — consolidates the maintenance-agreement requirements (MNT-1…7) from master PRT-2/3/5/6 and Portal PTL-3: single active agreement per device with expiration, per-device history sorted latest→oldest, tiers, renewal/expiration visibility, servicing party & move at renewal, the Portal Maintenance menu, and coverage-as-scope. Logs the Agreement → Maintenance rename as an open question (channel-entity conflict).
0.226 Jun 2026Agreement → Maintenance rename completed. Back-end domain renamed (SVC-AGR → SVC-MNT · /agreement → /maintenance · Maintenance Domain), workflow renamed (SPEC-PWF-MNT), and the partner channel registry (PartnerProfile, DistributionAgreement) moved to Sales (SVC-13). The rename open question is resolved.
0.326 Jun 2026Entity rename: MaintenanceAgreement → MaintenanceTier (the Silver · Gold catalog, aligning with the DS TierBadge) and DeviceAgreement → MaintenanceAgreement (the per-device record). §2 updated; requirement meaning unchanged.
RiverSync Co., Ltd. · BangkokSPEC-PRD-MNT · 2 of 2